package com.hex.ds.hdtp.core.app.data.transfer.service;

import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.data.configuration.dto.excel.DataTransferListExcelDto;
import com.hex.ds.hdtp.core.app.data.transfer.dto.request.DataTransferListRequestDto;
import com.hex.ds.hdtp.core.app.data.transfer.dto.response.DataTransferListResponseDto;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.app.data.transfer.service
 * @ClassName IDataTransferListService
 * @Description: 数据迁移清单-业务接口
 * @Author: wz.li
 * @Date 2023/8/17 19:58
 * @Version v2.0.2
 **/
public interface IDataTransferListService extends IBasicService<DataTransferListRequestDto> {

    /*
     * @Method: queryListByTaskId <br>
     * @Param: [dataTransferTaskPkId] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.app.data.transfer.dto.response.DataTransferListResponseDto> <br>
     * @Description：根据数据迁移任务主键查询对应的迁移清单<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/22 17:38 <br>
     * @Version： V2.0.2<br>
     */
    List<DataTransferListResponseDto> queryListByTaskId(String dataTransferTaskPkId);

    /*
     * @Method: queryById <br>
     * @Param: [pkId] <br>
     * @Return: com.hex.ds.hdtp.core.app.data.transfer.dto.response.DataTransferListResponseDto <br>
     * @Description：根据主键查询对应的数据同步清单<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/22 20:06 <br>
     * @Version： V2.0.2<br>
     */
    DataTransferListResponseDto queryById(String pkId);

    /**
     * @Method exportDataTransferList
     * @Param pkIds
     * @Return org.springframework.core.io.ByteArrayResource
     * @Description 导出数据迁移清单
     * @Author Yin.Yang
     * @Date 2023/12/21 18:20
     * @Version V1.0
     */
    ByteArrayResource exportDataTransferList(List<String> pkIds);

    /**
     * @Method importDataTransferList
     * @Param multipartFile
     * @Return java.util.Map<java.lang.String,java.lang.Object>
     * @Description 导入数据迁移清单
     * @Author Yin.Yang
     * @Date 2023/12/22 15:32
     * @Version V1.0
     */
     List<DataTransferListExcelDto> importDataTransferList(MultipartFile multipartFile);

}
